#pragma once

#include <string>
#include <queue>
#include <vector>
#include <boost/ptr_container/ptr_vector.hpp>

#include "../../../../utils/gui/Button.h"
#include "../../../../utils/gui/Control.h"
#include "../../../../domain/models/Card.h"
#include "../../../../domain/models/CardsCollection.h"

namespace Views {
	namespace Helpers {
		namespace Graphic {
			namespace Deduction {
				class DeductedCardsDialog: public Utils::GUI::Control
				{
				protected:
					typedef boost::signal<void ()> OnClose;
					OnClose closeEvent;

				public:
					DeductedCardsDialog();
					void showDeductedCard(Cards::Card* card, Players::Player* player);
					void showNoCardsDeducted(Cards::CardSet& cards);
		
					boost::signals::connection doOnClose(const OnClose::slot_function_type& slot);

				};
			}
		}
	}
}
